//
//  ImageUtilities.m
//  PocketPacket
//
//  Copyright 2010 Electronic Business Systems Ltd.
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

#import "ImageUtilities.h"

@implementation ImageUtilities

+ (UIImage*)imageWithImage:(UIImage *)img scaledToSize:(CGSize)theSize {
	
	UIGraphicsBeginImageContext(theSize);
	[img drawInRect:CGRectMake(0, 0, theSize.width, theSize.height)];
	UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
	UIGraphicsEndImageContext();
	
	return newImage;
}

+ (UIImage *)imageWithImage:(UIImage*)img overlay:(UIImage *)theOverlay point:(CGPoint)thePoint {
	
	int w = img.size.width;
    int h = img.size.height; 
	
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
    
    CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
    CGContextDrawImage(context,
					   CGRectMake(thePoint.x, thePoint.y, theOverlay.size.width, theOverlay.size.height),
					   theOverlay.CGImage);
    CGImageRef newImage = CGBitmapContextCreateImage(context);
    CGContextRelease(context);
    CGColorSpaceRelease(colorSpace);
	
	UIImage *newUIImage = [UIImage imageWithCGImage:newImage];
	CGImageRelease(newImage);
    return newUIImage;
}

@end
